document.prototype -->HTMLDocument.prototype -->Document.prototype

<script type="text/javascript">
	HTMLDocument.prototype.abc='zxc';
	console.log(document.abc);
	console.log(HTMLDocument.abc);
	Document.prototype.abc='qwe';
	console.log(HTMLDocument.prototype.abc);
	console.log(document.abc);
</script>

<script type="text/javascript">
	HTMLBodyElement.prototype.abc='abc';
	var body = document.getElementsByTagName('body')[0];
	var head = document.getElementsByTagName('head')[0];
	console.log(body.abc);
	console.log(head.abc);
	HTMLElement.prototype.ab='asd';
	console.log(body.ab);
	console.log(head.ab);
</script>

<script type="text/javascript">
	console.log(document.__proto__);
	console.log(document.__proto__.__proto__);
	console.log(document.__proto__.__proto__.__proto__);
	console.log(document.__proto__.__proto__.__proto__.__proto__);
	console.log(document.__proto__.__proto__.__proto__.__proto__.__proto__);
	console.log(document.__proto__.__proto__.__proto__.__proto__.__proto__.__proto__);
</script>

<script type="text/javascript">
	console.log(document.body);
	console.log(document.body.toString());
</script>